Personal computer systems in general, and IBM personal computers in particular, have attained widespread use for providing computer power for many purposes. Personal computer systems can usually be defined as a desk top, floor standing or portable microcomputer that consists of a system unit having a single system processor, a display monitor, a keyboard, one or more diskette drives, a fixed disk storage, and a printer. One of the distinguishing characteristics of these systems is the use of a motherboard or system board to electrically connect these components together. These systems were designed primarily to give independent computing power to a single user and are inexpensively priced for purchase by individuals or small businesses. Examples of such personal computer systems are IBM'S PERSONAL COMPUTER, PERSONAL COMPUTER XT, PERSONAL COMPUTER AT and IBM'S PERSONAL SYSTEM/2 Models 25, 30, 50, 60, 70, and 80 computers.
These systems can be classified into two general families. The first family, usually referred to as Family I Models, use a bus architecture exemplified by the IBM PERSONAL COMPUTER AT. The second family, referred to as Family II Models, use IBM'S MICRO CHANNEL ARCHITECTURE bus exemplified by IBM'S PERSONAL SYSTEM/2 Models 50 through 80 computers. The present invention relates to the Family I group of personal computers.
These systems are being called upon to handle an ever increasing number of input-output (I/0) devices including the devices listed above. Examples of additional such devices would be communication and network devices to allow interfacing with other computers and data bases. These devices are connected to the system planar or motherboard through device adapters plugged in to system I/0 connectors. Device adapters use hardware interrupt signals to the system bus to request attention by the microprocessor and by interrupt controllers. The IBM PERSONAL COMPUTER AT has 16 levels of hardware interrupts through its processor, the Intel 80286 microprocessor and the use of two INTEL 8259A interrupt controller chips. Of these, 11 are available for use by I/0 devices.
The IBM PERSONAL COMPUTER AT uses an edge -triggered interrupt request signal. That is, where an adapter requests an interrupt so that its device may be serviced, it does so, e.g, by first driving the interrupt request line to a low level and then to a high level. The transition between the low level and the high level is received by the system as an interrupt request signal.
Where the computer is being used for multi-tasking and or by multi-users, it may be desirable to add more devices than there are hardware interrupt levels. This can create system problems. For example, if two tasks were to "talk" to the same printer at the same instant and time, the result would be incomprehensible. Still another task might require a special printer or plotter for output. Most interrupt-supporting adapters were designed to first drive the interrupt request line to a low level and then to a high level to provide a low-to-high edge signal which is interpreted, under control of software drivers, by the microprocessor and by the interrupt controllers as a request for servicing, i.e. a hardware interrupt request signal.
A problem arose where two such devices were connected to the same level interrupt and the devices requested interrupts at the same time or where one interrupt was being handled when a second request was generated. The occurrence of these conditions could cause lost signals and even physical damage to the I/0 device adapter.
The IBM PERSONAL COMPUTER AT could be used to provide sharing of an interrupt level between multiple devices, however, this required a change in design of many device adapters which were to share an interrupt request level and created compatibility problems with earlier designed cards. Adapter cards previously designed for non-interrupt level sharing were designed to hold the interrupt request line at a low level and then to drive the line high to generate a request signal. In contrast the shared-interrupt card design, to operate in the IBM PERSONAL COMPUTER AT, the IBM PERSONAL COMPUTER XT or the IBM PERSONAL COMPUTER called for the interrupt request line to float high, through pull-up resistors on each adapter and typically to be driven by open-collector drivers. Each adapter on the line may request an interrupt by momentarily pulsing the line to a low level. The high-to-low transition arms the Interrupt Controller; the low-to-high transition generates the interrupt. It was accordingly not possible in most cases to use the adapters not designed for shared interrupt use in a shared environment. It has been found that the use of more than one adapter card on an interrupt request level, whether specifically designed for interrupt sharing or not, may cause physical damage or loss of signal where more than one of the adapters is active at the same time.